﻿#define _CRT_SECURE_NO_WARNINGS 1

#include<iostream>
#include<algorithm> // [ælgərɪðəm]
#include<vector>
#include<list>
#include<stack>
#include<queue>
using namespace std;

#include"Stack.h"
#include"Queue.h"
#include"PrQueue.h"

void testStack()
{
	stack<int> s;
	s.push(1);
	s.push(2);
	s.push(3);
	s.push(4);
	s.push(5);

	s.top() = 1314;

	while (!s.empty())
	{
		cout << s.top() << ' ';
		s.pop();
	}
	cout << endl;
}
void testQueue()
{
	stack<int> s;
	s.push(1);
	s.push(2);
	s.push(3);
	s.push(4);
	s.push(5);

	s.top() = 1314;

	while (!s.empty())
	{
		cout << s.top() << ' ';
		s.pop();
	}
	cout << endl;
}
void testPrQueue()
{
	priority_queue<int> p;
	p.push(11);
	p.push(24);
	p.push(38);
	p.push(41);
	p.push(7);

	//p.top() = 1314; // 不支持修改数据~

	while (!p.empty())
	{
		cout << p.top() << ' ';
		p.pop();
	}
	cout << endl;
}

int main()
{
	testStack();
	testQueue();
	testPrQueue();
	ZMH::TestStack();
	ZMH::TestQueue();
	ZMH::TestPrQueue();
	return 0;
}
